home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 32 / Mac Magazin and MacEasy Magazine CD - Issue 32.iso / Grafik & Text / OzTeX3.0 / Metafont / Inputs / ec / txisuper.mf < prev    next >
Text File  |  1997-03-16  |  5KB  |  123 lines

  1. % txisuper.mf
  2. %
  3. % (c) Copyright 1995, 1996, 1997 J"org Knappen
  4. %
  5. % This file is part of ecfonts version 1.0
  6. %
  7. % Please read the files 00readme.txt, 00inst.txt, 00error.txt, and
  8. % copyrite.txt for further information
  9. %
  10. % You find some documentation in ecdoc.tex (needs LaTeX2e)
  11. %
  12. % Superscript digits 1,2,3 in italic style
  13. % Male and female ordinal indicators
  14.  
  15. version_check(1,0);  % |version_check| was introduced in dc1.3
  16.  
  17. ecchar "Italic superscipt numeral 1";
  18. beginchar(oct"271",8u#,body_height#,0);
  19. italcorr body_height#*slant-.5u#;
  20. adjust_fit(0,0); pickup tiny.nib;
  21. numeric light_stem; light_stem=hround .4[stem',cap_stem'];
  22. pos1(light_stem,0); pos2(light_stem,0);
  23. lft x1l=lft x2l=hround(.5(w+.5u)-.5cap_stem'); top y1=h+apex_o; 
  24. bot y2=.5asc_height;
  25. filldraw stroke z1e--z2e;  % stem
  26. dish_serif(2,1,a,1/3,min(2.25u,lft x2l-1.5u),
  27.   b,1/3,min(2.25u,w-1.25u-rt x2r)); % serif
  28. pickup crisp.nib; pos3(slab,-90); pos4(bar,-90);
  29. top y3l=h+apex_o; top y4l=.8[bot y2,h]+apex_o;
  30. lft x4=max(1.25u,tiny.lft x1l-2.35u); tiny.rt x1r=lft x3+.25[tiny,hair];
  31. erase fill z3l{x4l-x3l,3(y4l-y3l)}...z4l{left}
  32.  --(x4l,h+apex_o+1)--(x3l,h+apex_o+1)--cycle; % erase excess at top
  33. filldraw stroke z3e{x4e-x3e,3(y4e-y3e)}..{left}z4e;  % point
  34. penlabels(1,2,3,4); endchar;
  35.  
  36.  
  37. ecchar "Italic superscript numeral 2";
  38. beginchar(oct"262",8u#,body_height#,0);
  39. italcorr body_height#*slant-.5u#;
  40. adjust_fit(0,0); pickup fine.nib;
  41. pos1(vair,45); pos2(vair,0); pos3(vair,-90); pos4(hair,-180);
  42. pos5(vair,-270); pos6(curve,-360); pos7(hair,-405); pos8(hair,-360);
  43. x1=x2-.5u; rt x2r=hround(3.5u+.5vair);
  44. x3=.6[x2,x4]; lft x4r=hround(u-.5hair);
  45. x5=x7=.5w-.5u; rt x6r=hround(w-u); lft x8l=hround(1.5u-.5hair);
  46. y1=.5[y4,h]; y2=1/3[y1,y3]; 
  47. bot y8=.5asc_height-oo;
  48. y4=.78[bot y8,h]; 
  49. bot y3r=vround .78[bot y8,y4];
  50. top y5r=h+o; y6=.5[y5,y7]; y7=.52[bot y8,y4];
  51. filldraw stroke if not hefty:z1e{2(x2-x1),y2-y1}...{down}z2e...{left}z3e...fi
  52.  z4e{up}...pulled_arc.e(5,6)...z7e{2(x7-x6),y7-y6}...{down}z8e; % main stroke
  53. pos9(vair,-90); pos10(vstem+curve-stem,-90); pos11(hair,0);
  54. x9=w-x10=2.5u; rt x11r=hround(w-.5u+.5hair);
  55. y9=.25[y10,y7]; bot y10r=bot y8; y11=.38[bot y8,y4];
  56. filldraw stroke z8e{up}...z9e{right}..{right}z10e...{up}z11e;  % bar
  57. penlabels(1,2,3,4,5,6,7,8,9,10,11); endchar;
  58.  
  59. ecchar "Italic superscript numeral 3";
  60. beginchar(oct"263",8u#,body_height#,0);
  61. italcorr body_height#*slant-.5u#;
  62. adjust_fit(0,0); pickup fine.nib;
  63. pos1(vair,45); pos2(vair,0); pos3(vair,-90); pos4(hair,-180);
  64. pos5(vair,-270); pos6(stem,-360); pos7(bar,-450); pos8(bar,-450);
  65. x1=x2-.5u; rt x2r=hround(3.5u+.5vair); x3=.5[x2,x4]; lft x4r=hround u;
  66. x5=x7=.5w; rt x6r=hround(w-u); x8=x7-u;
  67. y[-1]=.5asc_height;                               % dummy point
  68. y1=.5[y[-1]+x_height,h]; y2=.5[y1,y3]; y7=y8=.52[y[-1],h];
  69. bot y3r=vround 1/4[y7,h];
  70. y4=1/3[y3,y5]; top y5r=h+o; y6=.5[y5,y7];
  71. filldraw stroke if not hefty: 
  72.  z1e{2(x2-x1),y2-y1}...{down}z2e...{left}z3e...fi
  73.  z4e{up}...pulled_arc.e(5,6) & pulled_arc.e(6,7)..z8e; % upper arc
  74. pos7'(vair,90); z7'l=z7r;
  75. pos9(curve,0); pos10(vair,-90); pos11(hair,-180); pos12(flare,-180);
  76. rt x9r=hround(w-u); x10=.5w-.5u; lft x11r=hround .75u;
  77. y9=.25[y[-1],h]; bot y10r=y[-1]-o; y11=1/3x_height+y[-1];
  78. bulb(10,11,12);  % bulb
  79. filldraw stroke pulled_arc.e(7',9) & pulled_arc.e(9,10);  % lower arc
  80. penlabels(1,2,3,4,5,6,7,8,9,10,11,12); endchar;
  81.  
  82. ecchar"Italic female ordinal indicator";
  83. beginchar(oct"252",8u#,body_height#,0);
  84. italcorr .7body_height#*slant;
  85. adjust_fit(0,0); 
  86. numeric hh; hh=vround .5body_height;
  87. pickup fine.nib;
  88. pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270);
  89. pos4(stem,0); x4=x0; y4+.5stem=vround .98hh;
  90. x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve);
  91. rt x4r=hround(w-2.5u+.5stem);
  92. top y1r=hh+oo; bot y3r=-oo; y0=y2=.5[y1,y3];
  93. filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2)
  94.  & pulled_arc.e(2,3) & super_arc.e(3,0);  % bowl
  95. x5=x4; x7=w; hook_out(5,6,7);  % closing hook
  96. filldraw circ_stroke z4e--z5e;  % stem
  97. pickup extra_rule.nib;
  98. x14=hround u; x15=hround(w-.5u);
  99. top y14=-rule_thickness; y15=y14;
  100. draw z14--z15; % underline
  101. currentpicture:=currentpicture shifted (0,hh);
  102. penlabels(0,1,2,3,4,5,6,7,14,15); endchar;
  103.  
  104. ecchar"Italic male ordinal indicator";
  105. beginchar(oct"272",8u#,body_height#,0);
  106. numeric hh; hh=vround .5body_height;
  107. italcorr .7body_height#*slant;
  108. adjust_fit(0,0);
  109. pickup fine.nib;
  110. pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360);
  111. x1=x3=.5w; lft x2r=hround(1.5u-.5curve); x4=w-x2;
  112. top y1r=hh+oo; y2=y4=.5[y1,y3]; bot y3r=-oo;
  113. filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
  114.  & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl
  115. pickup extra_rule.nib;
  116. x5=w-x6=hround u; 
  117. top y5=-rule_thickness; y6=y5;
  118. draw z5--z6; % underline
  119. currentpicture:=currentpicture shifted (0,hh);
  120. penlabels(1,2,3,4,5,6); endchar;
  121.  
  122. endinput;
  123.